.parsing-algorithm-table th[scope=row] {
  border: 1px solid #eee;
  text-align: left;
}

.parsing-algorithm-table .conflict {
  background: #fdd;
}

.parsing-algorithm-table .classification {
  font-size: 90%;
}
.ll1-table .t {
  border-left: 2px solid #000;
}

.ll1-table th[scope=row] {
  border: 1px solid #eee;
  text-align: left;
  font-weight: normal;
  min-width: 30px;
}

.ll1-table td.conflict {
  background: #fdd;
  border-color: #ecc;
}

.ll1-table td.conflict u {
  background: #dcc;
}
.lr0-table .t,
.lr0-table .nt {
  border-left: 2px solid #000;
}

.lr0-table td {
  min-width: 50px;
}

.lr0-table th[scope=row] {
  border: 1px solid #eee;
  text-align: center;
  font-weight: normal;
  min-width: 50px;
}

.lr0-table td.conflict {
  background: #fdd;
  border-color: #ecc;
}

.lr0-table td.conflict u {
  background: #dcc;
}
.lr1-table .t,
.lr1-table .nt {
  border-left: 2px solid #000;
}

.lr1-table td {
  min-width: 50px;
}

.lr1-table th[scope=row] {
  border: 1px solid #eee;
  text-align: center;
  font-weight: normal;
  min-width: 50px;
}

.lr1-table td.conflict {
  background: #fdd;
  border-color: #ecc;
}

.lr1-table td.conflict u {
  background: #dcc;
}
.blank-slate {
  margin: 3em;
  padding: 0.5em 1.5em;
  background: #eee;
  border: 10px solid #ccc;
  border-radius: 20px;
  font: 12pt helvetica;
}

.blank-slate pre {
  background: #fff;
  font: 14pt courier;
  padding: 0.5em;
  border: 1px solid #ddd;
  margin: 0.5em -0.5em;
}
#edit .spec-wrap {
  position: absolute;
  top: 0;
  bottom: 20px;
  left: 0;
  right: 20px;
}

#edit .spec {
  white-space: pre-wrap;
  overflow: auto;
  font: 9pt monaco, courier, monospace;
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  border: none;
  resize: none;
  padding: 10px;
  background: #fff;
  color: #000;
}

#edit .spec:focus {
  outline: none;
}
#analysis .header {
  border-bottom: 1px solid #ddd;
  margin-bottom: 10px;
  padding-bottom: 10px;
}
#transform {
  overflow: auto;
}

#transform .productions {
  margin: 0;
  width: 100%;
}

#transform .productions td {
  border: 1px solid #eee;
  min-width: inherit;
  font-size: 12pt;
  line-height: 16pt;
}

#transform .buttons {
  padding: 10px;
  border-bottom: 1px solid #ccc;
  background: #eee;
  overflow: auto;
}

#transform .buttons .undo {
  float: left;
}

#transform .buttons .redo {
  float: right;
}

#transform .pill {
  position: relative;
  background: #eee;
  border: 1px solid #ddd;
  border-radius: 24px;
  padding: 1px 6px;
  margin-right: 2px;
  cursor: default;
  white-space: nowrap;
}

#transform .pill:after {
  content: "▼";
  font-size: 6pt;
  color: #222;
  margin-left: 4px;
}

#transform .pill select {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  font-size: 10pt;
}









body {
  background: #fff;
  margin: 0;
  line-height: 1.2;
}

#master {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 300px;
  border-right: 1px solid #bbb;
}

#edit {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

#transform {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

#analysis {
  position: absolute;
  top: 0;
  left: 300px;
  right: 0;
  bottom: 0;
  margin-left: 1px;
  padding: 20px;
  overflow: auto;
}

#mode {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding: 10px;
  border-bottom: 1px solid #bbb;
  background: #ddd;
  text-align: center;
}

#mode input[type=radio] {
  display: none;
  margin: 0;
}

#mode label {
  font: 12pt helvetica;
  display: inline-block;
  padding: 6px 8px 5px 8px;
  margin: 0;
  background: #fff;
  color: #000;
  border: 1px solid #bbb;
}

#mode label.left {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  border-right: none;
  padding-right: 9px;
}

#mode label.right {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  border-left: none;
  padding-left: 9px;
}

#mode label:active {
  background: #999;
  color: #fff;
  border-color: #888;
}

#mode input[type=radio]:checked + label {
  background: #444;
  border-color: #333;
  box-shadow: inset 0 3px 10px #222;
  color: #fff;
}

#mode button {
  font: 12pt helvetica;
  display: inline-block;
  padding: 6px 8px 5px 8px;
  background: #fff;
  border: 1px solid #bbb;
  border-radius: 4px;
  color: #000;
  margin-left: 14px;
}

#mode button:active {
  background: #999;
  color: #fff;
  border-color: #888;
}

#mode button:disabled {
  background: #fff;
  border-color: #ccc;
  color: #ccc;
}

#error {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  padding: 10px;
  background: #f00;
  margin-right: -1px;
  margin-top: -1px;
  border-bottom: 1px solid #e11;
  border-right: 1px solid #e11;
  border-top: 1px solid #e11;
  color: #fff;
  font-weight: bold;
}




h1 {
  font-size: 18pt;
  font-weight: normal;
  margin-bottom: 0;
  margin-top: 0;
}

.symbols i {
  font-style: italic;
  font-weight: normal;
}

.symbols u {
  text-decoration: none;
  background: #ddd;
}

.symbols b {
  font: bold 10pt courier;
}

table {
  border-collapse: collapse;
  border: hidden;
  background: #fff;
  margin: 1em 0;
}

td {
  padding: 4px 6px;
  min-width: 80px;
  max-width: 300px;
  border: 1px solid #eee;
}

th {
  padding: 4px 6px;
  border: 1px solid #eee;
  border-bottom: 2px solid #000;
}

th[scope=row] {
  border-bottom: 1px solid #eee;
  border-right: 2px solid #000;
}

td ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

td li {
  margin: 2pt 0;
  text-align: left;
}
